package com.server.exception;

import com.server.domain.Code;
import com.server.domain.Response;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

@RestControllerAdvice
public class ExceptionAdvice {

    @ExceptionHandler(BusinessException.class)
    public Response doBusinessException(BusinessException e){
        //System.out.println("出现的业务异常是"+e);
        return new Response(e.getMessage(),null,e.getCode());
    }

    @ExceptionHandler(SystemException.class)
    public Response doSystemException(SystemException e){
        // 记录日志
        // 发送消息给运维
        // 发送邮件给开发人员
        //System.out.println("出现的系统异常是"+e);
        return new Response(e.getMessage(),null,e.getCode());
    }

    @ExceptionHandler(Exception.class)
    public Response doException(Exception e){
        // 记录日志
        // 发送消息给运维
        // 发送邮件给开发人员
        //System.out.println("出现的未知异常是"+e);
        return new Response("系统繁忙！请稍后再试",null, Code.SYSTEM_ERR);
    }
}